网易易盾,js逆向:★★★★★ | 您所在的位置:网站首页 › JS 逆向百例浏览器插件 Hook 实战亚航加密参数分析 › 网易易盾,js逆向:★★★★★ |
前言
可以关注我哟,一起学习,主页有更多练习例子
如果哪个练习我没有写清楚,可以留言我会补充
如果有加密的网站可以留言发给我,一起学习共享学习路程
如侵权,联系我,删
此文仅用于学习参考,请勿于商用,后果自负
这次来一个难的
网址:
aHR0cHM6Ly9kdW4uMTYzLmNvbS90cmlhbC9qaWdzYXc= image.png端口:aHR0cHM6Ly9jLmR1bi4xNjMuY29tL2FwaS92Mi9nZXQ/cmVmZXJlcj0= 加密参数 image.png 逆向过程:抓包调试 image.png进入堆栈,一步一步往前调,找到第一次出现的地方 image.png多观察右边变量,如果有fb继续往前调堆栈,找到第一次出现的地方,在我找的时候发现fp没有了,反而出现了一个叫fingerprint的,经过对比值发现,fingerprint就是fp的值 image.png 接下来我们重点关注fingerprint,继续往前调,又又又又又发现一个gdxidpyhxde和fingerprint一样,居然在window属性中 image.png画外音一下子:你们就知道我找的有多费劲了吧,藏在window属性中我都能找到 image.png目前找到了就好说了,只要确定gdxidpyhxde是如何生成的就好了 寻找gdxidpyhxde生成的地方 既然知道在window中属性中就好说了,咱们hook一下window中第一次出现这个属性值的地方 JShook代码: (function() { 'use strict'; Object.defineProperty(window, 'gdxidpyhxde', { // 修改goldlog为你需要查询的window属性 get: function() { // debugger; return ""; }, set: function(value) { debugger; return value; }, }); // Your code here... })(); image.png完美hook到,继续往前调,干这一行就得有耐心 image.png继续往前,发现是传参过来的,继续向前 image.png image.png image.png 走到这一步我奔溃了,看下图,这居然又是cookie中的值,继续hook cookie image.png走起,心累,多少次我想放弃 image.png一步一步继续往上调 image.png发现是传参,继续有点耐心 我们找到了真正生成的地方 打了几次断点会发现一会就没了,发现js是动态的,我们那clearles抓包本地映射一下 js 本地映射打开clearles抓包,下载网上的js文件到本地 image.png image.png按我的设置,就ok了,在js中随便加一点 然后刷新页面,我们看是否替换成功 image.png 有自己的标志说明替换成功了,接下来开始调试 js逆向调试 image.png在文件关键位子写上debugger,方便自己调试 这个没法教这个就得自己调 image.png挑一部该一步,把固定值替换一下,我们会发现上面就是在生成数组然后下面组装 image.png 在这一步拼接好嘞我们知道位置了开始代码吧 这一步我扣了很久很久,我放弃了,我直接全拿下来了,然后删除一下不必要的没有关联报错的 结论在这进行捕捉 image.png image.png如果你的报错程序阻塞,请看我结论第一图中的添加返回 image.png 逆向CB函数咱们书说简短,承接上回 image.png上回书说到fp的逆向,现在继续说说下一个函数,CB image.pngCB走不了全局搜索,咱依然挑栈,一步一步往上调 image.png哟呵,哟呵,哟呵,看样都是这一个方法计算出来的 image.png 需要我说什么吗?扣呗 image.png方法里面有很多嵌套别的方法,自己认认真真扣一次,会有进步的,缺啥补啥!!缺啥补啥 这是第一个缺啥补啥,很费时间,因为是自己之前映射的本地js文件,咱们扣的时候可以吧一些混淆的固定值,修改进去方便自己看代码 image.pngjs逆向就是一个耐心的过程,这个自己扣,就不放我扣的了,有需要联系我,仅供学习交流使用 结论 image.png完结撒花,如果哪我没写清楚看不懂,留言 |
CopyRight 2018-2019 实验室设备网 版权所有 |